package com.tencent.wxcloudrun.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 商品订单
 * @TableName order_goods
 */
@TableName(value ="order_goods")
@Data
public class OrderGoods implements Serializable {
    /**
     * 
     */
    @TableId
    private Long orderGoodsId;

    /**
     * 
     */
    private Integer userId;

    /**
     * 
     */
    private Object goodsList;

    /**
     * 所有商品的总数量
     */
    private Integer goodsTotalCount;

    /**
     * 用户下单时所在的位置
     */
    private Double userLatitude;

    /**
     * 用户下单时所在的位置
     */
    private Double userLongitude;

    /**
     * 
     */
    private Integer shopId;

    /**
     * 
     */
    private String shopName;

    /**
     * 
     */
    private String shopAddress;

    /**
     * 
     */
    private Integer couponId;

    /**
     * 
     */
    private Integer couponMoney;

    /**
     * 这次订单使用了多少积分
     */
    private Integer usePoints;

    /**
     * 所有商品总金额
     */
    private Integer totalMoney;

    /**
     * 最终用户支付的总金额
     */
    private Integer payMoney;

    /**
     * 取餐码（未支付时没有取餐码，所以值可以为空）
     */
    private String getGoodsCode;

    /**
     * 1：堂食；2：带走；3：外卖；
     */
    private Integer eatType;

    /**
     * 1: 余额；2：微信；
     */
    private Integer payType;

    /**
     * 微信支付的唯一标识码
     */
    private String wxPayId;

    /**
     * 微信支付验证码
     */
    private String wxPayVerifyCode;

    /**
     * 微信支付前的（应该可以删掉）
     */
    private String wxPrePayInfo;

    /**
     * 微信支付验证（应该可以删掉）
     */
    private String wxPayCallbackInfo;

    /**
     * 1: 未支付； 2： 已支付； 3：已接单；4：制作完成；5：已取走； -1：申请退款；-2：已沟通；-3：申请退款成功；-4：已完成退款；-9：申请退款失败；-99：已删除；
     */
    private Integer orderGoodsStatus;

    /**
     * 
     */
    private Date createTime;

    /**
     * 
     */
    private Date updateTime;

    /**
     * 用户支付的时间
     */
    private Date payTime;

    /**
     * 预计取餐时间（值为null则表示立即取餐）
     */
    private Date getGoodsTime;

    /**
     * 真正取餐时间
     */
    private Date takeAwayGoodsTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}